import { ReqPage } from "../..";

/**
 * 创建用户参数
 */
export interface CreateUserParam {
  /** 用户账号 */
  userAccount: string;

  /** 用户姓名 */
  userName: string;

  /** 密码 为空则默认为123456 */
  password?: string;

  /** 角色Id集合 */
  roleIdList?: string[];

  /** 岗位Id集合 */
  jobIdList?: string[];

  /** 部门Id集合 */
  departmentIdList?: string[];

  /** 性别 */
  userGender?: number;

  /** 联系方式 */
  telephone?: string;

  /** 住址 */
  address?: string;

  /** 邮箱 */
  email?: string;

  /** 备注 */
  remark?: string;

  status: number;
}
/** 修改用户信息 */
export interface EditUserInfoParam {
  /** 用户Id */
  userId: string;

  /** 用户账号 */
  userAccount: string;

  /** 用户姓名 */
  userName: string;

  /** 角色Id集合 */
  roleIdList?: string[];

  /** 岗位Id集合 */
  jobIdList?: string[];

  /** 部门Id集合 */
  departmentIdList?: string[];

  /** 性别 */
  userGender?: number;

  /** 联系方式 */
  telephone?: string;

  /** 住址 */
  address?: string;

  /** 邮箱 */
  email?: string;

  /** 备注 */
  remark?: string;

  status: number;
}

/**
 * 查询用户列表参数
 */
export interface QueryUserListParam {
  /** 姓名 */
  userName?: string;

  /** 账号 */
  userAccount?: string;

  /** 部门 */
  departmentId?: string;

  /** 性别 */
  userGender?: number;

  /** 用户级别 1-普通用户 11-部门管理员 21-公司管理员 99-系统管理员 */
  userType?: number;

  /** 状态 0-待审核 1-正常 -1-禁用 */
  status?: number;
}

/** 修改用户状态参数 */
export interface EditUserStatusParam {
  /** 用户Id */
  userId: string;
  status: number;
}

/**
 * 重置指定用户的密码入参
 */
export interface InitUserPasswordParam {
  /** 用户Id */
  userId: string;
}

/** 用户列表返回结果 */
export interface UserListResult {
  userId: string;

  /**
   * 用户账号
   */
  userAccount: string;

  /**
   * 用户昵称
   */
  userName: string;

  /**
   * 账户类型 00-系统用户
   */
  userType: number;

  /**
   * 用户性别 1-男 2-女 3-未定义
   */
  userGender?: number;

  /**
   * 出生日期
   */
  birthDate?: string;

  /**
   * 头像
   */
  avatar?: string;

  /**
   * 联系方式
   */
  telephone?: string;

  /**
   * 地址
   */
  address?: string;

  /**
   * 邮箱
   */
  email?: string;

  /**
   * 状态 0-禁用 1-正常 -1-删除
   */
  status: number;

  /**
   * 部门列表
   */
  departmentIdList?: string[];

  jobIdList?: string[];

  roleIdList?: string[];

  /**
   * 部门列表
   */
  departmentNameList?: string[];

  jobNameList?: string[];

  roleNameList?: string[];

  /**
   * 创建时间
   */
  createDate: string;
}
